home *** CD-ROM | disk | FTP | other *** search
/ United Public Domain Gold 2 / United Public Domain Gold 2.iso / utilities / pu478.dms / pu478.adf / AZAP / AZapEnglish.doc < prev    next >
Text File  |  1993-09-02  |  17KB  |  426 lines

  1.  
  2.  
  3.                 AZap - User's Manual
  4.  
  5.  
  6.  
  7.  
  8.  
  9. AboutThisDoc
  10.  
  11.       This manual describes release 2.01 of the utility AZap. This program
  12.   is (c)1992-1993 by Denis GOUNELLE, any commercial usage or  selling  without
  13.   author's written authorization is  strictly  forbidden.  You  can  copy  and
  14.   spread this program at the following conditions:
  15.  
  16.     - all the files must be provided
  17.     - none of the file must have been modified
  18.     - you don't charge more than $6 for copy fee
  19.  
  20.       In spite of several tests, no warranty is made that there's no error
  21.   in AZap. YOU USE THIS PROGRAM AT YOUR OWN RISKS.  In    no  event  will  I  be
  22.   liable for any damage, direct or indirect, resulting of the use of AZap.
  23.  
  24. Introduction
  25.  
  26.       AZap is a "new generation" binary editor able to edit files,  memory
  27.   or devices like hard disks. It can open several windows at  the  same  time,
  28.   and while this program cannot be considered as a tool to help you to recover
  29.   a disk, it has a lot of useful functions (print block,  fill  block,  search
  30.   string, etc...).
  31.  
  32.                     CAUTION:
  33.  
  34.       It is absolutly forbidden to use this program  to  modify  a
  35.       copyright notice, or any other illegal usage.  Unexperienced
  36.       users should be aware that this program  may    destroy  their
  37.       programs, or cause severe data loss. 
  38.  
  39.       Suggestions and/or criticisms will be always welcome. Don't hesitate
  40.   to write me at the following address:
  41.  
  42.                    M. GOUNELLE Denis
  43.                     Boite 71
  44.                   6, rue des cailloux
  45.                  92110 CLICHY - FRANCE
  46.  
  47.       You can also send a message to  the  following  Internet  address  :
  48.   gounelle@alphanet.ch. Note that this mailbox is not  mine,  so  please  send
  49.   only short messages. As I don't have direct access to  the  messages,  don't
  50.   expect an answer before a dozen of days.
  51.       Thanks to Pierre ARDICHVILI and Jean-Yves PROUX for beta-testing and
  52.   suggestions.
  53.  
  54. Installation
  55.  
  56.       This program requires "reqtools.library" v2.0c to run, so  you  must
  57.   copy    it  in    your  "LIBS:"  directory  before.  The  "reqtools.library"  is
  58.   (c)1990-1991 by Nico FRANCOIS.
  59.       AZap is now localized, so it    can  adapt  itself  to    your  favorite
  60.   language. All you have to do is to copy  the    good  catalog  file  into  the
  61.   directory corresponding to your  language.  For  exemple,  if  your  default
  62.   language   is    french,    copy    the    "français.catalog"    into    the
  63.   "SYS:Locale/Catalogs/Français" directory, under the name "azap.catalog."
  64.  
  65. Running_from_CLI
  66.  
  67.       This program detach itself from CLI window. It accepts the following
  68.   arguments:
  69.  
  70.       WBENCH
  71.       Use Workbench screen instead of custom screen.
  72.  
  73.       LACE
  74.       Use an interlaced custom screen. This option is ignored  if  the
  75.       WBENCH option is specified too.
  76.  
  77.       FONT name
  78.       Use the specified font instead of internal 6x9 font. "name" must
  79.       be given as <font name><Y size>, like "courier9". AZap will  use
  80.       this font only if it isn't proportionnal and  if  it  isn't  too
  81.       large to display a 512 bytes block.
  82.  
  83.       MEMORY
  84.       Open a window to edit memory.
  85.  
  86.       DEVICE name
  87.       Open a window to edit specified device. Don't forget  the  colon
  88.       (":") at the end of the name.
  89.  
  90.   Any other argument is supposed to be the name of a file  to  edit.  You  can
  91.   specify as many names as you want, but only the first eight will be used. Of
  92.   course, you can mix file names, MEMORY  and  DEVICE  options.  Last,    if  no
  93.   argument is specified, a file requester appears (see "The_Project_menu")  so
  94.   you can select the file to edit.
  95.  
  96. Running_from_Workbench
  97.  
  98.       You can specify the following options in the "TOOL  TYPES"  of  AZap
  99.   icon:
  100.  
  101.       OPTIONS=WBENCH or OPTIONS=LACE
  102.       See  the   description   of    WBENCH     and   LACE   options    in
  103.       "Running_from_CLI" section.
  104.  
  105.       FONT=name
  106.       See above the description of FONT option  in    "Running_from_CLI"
  107.       section
  108.  
  109.   A file requester will appear (see "The_Project_menu") so you can select  the
  110.   file to edit.
  111.  
  112. The_edit_window
  113.  
  114.       The  left  part  of  the  display  shows  the  block     contents   in
  115.   hexadecimal, by sets of 4 bytes. The right part shows the  same  information
  116.   but as characters.  Bytes  corresponding  to    non-printable  characters  are
  117.   replaced by a point (".").
  118.       At  the  bottom  right  of  the   window   are   displayed   several
  119.   informations: the block address (relative to beginning, in hex), the  offset
  120.   in the block (in hex), the block number (relative to beginnin, in  decimal),
  121.   and the block type. This last information is not significant unless you edit
  122.   a DOS device. When block contents has been modified but not written, a  star
  123.   ("*") is displayed at the right of the first line. When  block  checksum  is
  124.   valid, a "V" character is displayed at the right of the  second  line  (this
  125.   information is not significant unless you edit a DOS device).
  126.  
  127.       When the window is opened, the first    block  is  displayed  and  the
  128.   cursor is on the first  character  of  the  right  part.  The  corresponding
  129.   position in the left part is showed by a display in a different  color.  You
  130.   can move the cursor whith the arrow  keys.  To  switch  between  a  part  to
  131.   another (left to right or right to left) just press the tabulation key.  You
  132.   can also move anywhere you want using the mouse. To modify data,  just  type
  133.   in the new datas over the old ones. In the left part, only "0" to  "9",  "a"
  134.   to "f" and "A" to "F" characters are allowed. AZap keep in mind the 32  last
  135.   changes: as long as you have not moved to another block you can  undo  these
  136.   changes with the escape key. The following keys are also accepted:
  137.  
  138.       ctrl-up      go to first block
  139.       ctrl-down      go to last block
  140.       ctrl-left      go to previous block
  141.       ctrl-right      do to next block
  142.       shift-up      go to first line
  143.       shift-down      go to last line
  144.       shift-left      go to first byte of the line
  145.       shift-right      go to last byte of the line
  146.  
  147.       The buttons at the bottom of the window allow (from left  to  right)
  148.   to go to the first block, to go to the previous block, to write the changes,
  149.   to go to the next block, to go to the last block,  and  to  go  to  a  given
  150.   address. In this last case, a  requester  appears,  so  you  can  enter  the
  151.   address to go. Use the following syntax:
  152.  
  153.       nbr      jump at address 'nbr'
  154.       §nbr      jump at block 'nbr'
  155.       @nbr      jump at address found by reading the long word at address
  156.           'nbr' (when editing memory only)
  157.       #nbr      jump to the memory area number 'nbr' (when editing memory
  158.           only)
  159.  
  160.   The address  may  be    an  expression,  whose    syntax    is  described  in  the
  161.   "Expressions_syntax" section. Be aware that if you  move  to  another  block
  162.   without writing the changes made to the current block, all changes  will  be
  163.   lost !
  164.  
  165.       To close the edit window, just click on the  close  gadget.  If  the
  166.   block has been modified but not saved, you will be asked  for  confirmation.
  167.   The program stops when the last edit window is closed.
  168.  
  169. The_Project_menu
  170.  
  171.       Open file...
  172.       Opens a new window to edit a file. A file requester will appear,
  173.       so you can select the file to edit.  A  memory  window  will    be
  174.       opened if you select "RAM:", or a device window if you select  a
  175.       device (like "DH0:")
  176.  
  177.       Open memory
  178.       Opens a new window to edit memory.
  179.  
  180.       Open device
  181.       Use the sub-menu items to select the device to edit. AZap  opens
  182.       a new window to edit this device.
  183.  
  184.       Palette...
  185.       A palette requester appears, so you can modify screen's  colors.
  186.  
  187.       Save prefs
  188.       Save configuration: screen's colors and font. The options of the
  189.       current  window  are    also  saved  as   default   options.   The
  190.       configuration file is "S:AZap.config".
  191.  
  192.       About...
  193.       Displays informations about the program. Press any key or  click
  194.       in the window to make it go away.
  195.  
  196.       Quit
  197.       Ends program execution. You will be asked for confirmation.
  198.  
  199. The_Edit_menu
  200.  
  201.       Help...
  202.       Displays cursor keys usage with CTRL and SHIFT.
  203.  
  204.       Undo all
  205.       Read current block to undo all changes not saved yet.
  206.  
  207.       Jump back
  208.       Each time you move to  another  block  with  the  "go  to  first
  209.       block", "go to last block" or "GOTO" buttons, the  old  position
  210.       is kept in memory. This command allows  to  jump  back  to  this
  211.       position. The old position  is  also    kept  when  you  use  this
  212.       command, so you can easely toggle between two blocks.
  213.  
  214.       Next block
  215.       When editing a DOS device, this command allows you to go  either
  216.       to the first data block (if the current block is a file  header)
  217.       or to the next block (if the current block is a data block of  a
  218.       OFS disk).
  219.  
  220.       Parent block
  221.       When editing a DOS device and the current block is a file header
  222.       or a directory, this command allows  you  to    go  the  directory
  223.       block corresponding to the parent  directory    of  this  file    or
  224.       directory.
  225.  
  226.       Root block
  227.       When editing a DOS device, this command allows you to go to  the
  228.       root block of this device.
  229.  
  230.       Header block
  231.       When editing a DOS device, this command allows you to go to  the
  232.       next header block.
  233.  
  234.       When you use one of these four commands, the old position is kept in
  235.       memory for the "Jump back" command.
  236.  
  237. The_Tools_menu
  238.  
  239.       Infos
  240.       Displays  some   informations   about   the    file/memory/device
  241.       currently edited.
  242.  
  243.       Examine
  244.       When editing a DOS device, and if the current block is a  header
  245.       block, this command  displays  what  would  have  displayed  the
  246.       "Info" command on the corresponding file or directory.
  247.  
  248.       Print...
  249.       Prints a number of blocks starting from  the    current  block.  A
  250.       requester appears so you can specify another    output    file  that
  251.       "PRT:" (the printer). Then AZap  will  ask  you  the  number  of
  252.       blocks to print.
  253.  
  254.       Convert
  255.       A new window is opened, with four gadgets  that  enable  you    to
  256.       make convertions between binary, decimal, hexadecimal and ASCII.
  257.       Any value entered, either an expression  for    "BIN",  "DEC"  and
  258.       "HEX" gadgets, or  a  character  string  for  "ASC"  gadget,  is
  259.       converted in the other units.  You  don't  have  to  close  this
  260.       window to continue editing.
  261.  
  262.       Save block
  263.       Save a number of blocks starting from the current block. A  file
  264.       requester appears so you can specify the file where to save  the
  265.       blocks. Then AZap will ask you the number of blocks to save.
  266.  
  267.       Fill block...
  268.       Sets all bytes of  the  current  block  to  the  same  value.  A
  269.       requester appears so you can enter a value: either 'c'  to  fill
  270.       with the "c" character or a number (ASCII code of the  character
  271.       to use, prefixed by "0x" for an hexadecimal value).
  272.  
  273. The_Search_menu
  274.  
  275.       Search...
  276.       Searchs for a string or a hexadecimal value. A requester appears
  277.       so you can enter the value to  search  :  either  a  hexadecimal
  278.       value (prefixed by "0x", take care to enter an  even  number  of
  279.       digits) or a character string (ASCII search). To search a string
  280.       beginning with "0x", put all the string between double quotes.
  281.  
  282.       Search text... Searchs for a string of  printable  characters.  This
  283.       may be useful, for exemple, to locate a text area.  A  requester
  284.       appears so you can enter the minimal length  to  search  for.  A
  285.       value lower than 4 is generally not very interesting.
  286.  
  287.       Search next
  288.       Continue last search starting from current position.
  289.  
  290.       For all searchs, AZap move to the position  where  an  occurence    is
  291.       found, or the screen flashes.  The  previous  position  is  kept    in
  292.       memory for the "Jump back" function (see  "The_Edit_menu"  section).
  293.       You can abort a search, and AZap will find  a  string  laid  on  two
  294.       consecutives blocks.
  295.  
  296.       Search file
  297.       Goes strait to the header of a given file or directory.  A  file
  298.       requester appears, so you can select the file.  AZap    will  then
  299.       open a new device window for the corresponding device, and  show
  300.       the header block of the file.
  301.  
  302. The_Options_menu
  303.  
  304.       Take care that options are "locale" to a window : if you change  the
  305.   options of a window, the others windows won't be affected. When you  open  a
  306.   new window, it takes the options of the current window.
  307.  
  308.       Checksum
  309.       Specifies when AZap must update block checksum (used  only  when
  310.       editing a DOS device). Choices are : "always" (update for  *ALL*
  311.       blocks), "Ask if" (you will be asked for), "Boot  blocks"  (only
  312.       for 0 and 1 blocks) and "Automatic" (only if checksum was  valid
  313.       when reading block).
  314.  
  315.       Auto save
  316.       AZap will automatically save any modified block as soon  as  you
  317.       will ask to move to another block.
  318.  
  319.       Read only
  320.       You won't be allowed to modified data.
  321.  
  322.       lwr = UPR
  323.       Specifies if lower case and upper  case  characters  are  to    be
  324.       distinguished when making an ASCII search.
  325.  
  326.       Backup copy
  327.       Specifies if AZap must make a backup copy of    edited    files.    If
  328.       selected, at the next write attempt a requester will    appear    so
  329.       you can enter the name of the copy to  create.  AZap    will  then
  330.       make a copy of the file before recording  your  changes.  If    an
  331.       error occurs during the copy, the requester will  come  back    so
  332.       you can specify another name.  If  you  click  on  the  "Cancel"
  333.       gadget, no copy will be made but your changes will  be  recorded
  334.       anyway.
  335.  
  336. Expressions_syntax
  337.  
  338.       AZap is able to compute integer expressions. Default base is decimal
  339.   for addresses ("GOTO" gadget) or the  base  corresponding  to  the  selected
  340.   gadget in the convertion window. Base may be specified  with    "%"  (binary),
  341.   "#" (decimal), and "$" or "0x" (hexa) before  any  number.  Valid  operators
  342.   are :
  343.  
  344.       +      addition
  345.       -      subtraction
  346.       |      logical "or"
  347.       &      logical "and"
  348.       *      multiplication
  349.       /      integral division
  350.       %      reminder of integral division
  351.       <      shift left
  352.       >      shift right
  353.  
  354.   By default, "*", "/", "%", "<" and ">" operators have  higher  priority  but
  355.   you may use parenthesis. If there is a syntax error in  an  expression,  its
  356.   result will be set to -1.
  357.  
  358. Important_notes
  359.  
  360.       When starting to run, AZap read the ExecBase structure to  know  you
  361.   memory configuration. Only memory areas defined is memory  management  lists
  362.   may be edited. Except when searching, these areas are considered as adjacent
  363.   and AZap will move automatically  from  an  area  to    another.  The  "Infos"
  364.   command (see "The_Tools_menu" section) displays the addresses of all  areas.
  365.   Reading and writing memory is done after having disabled task switching,  in
  366.   order to avoid conflicts.
  367.  
  368.       AZap can recognize the type of the device you edit. Some  operations
  369.   ("next block", "parent block" and "root block", see "The_Edit_menu" section)
  370.   are disabled on  non    AmigaDOS  devices,  but  don't  forget  to  check  the
  371.   "Checksum" option. AZap knows about OFS (Old File System) and FFS (Fast File
  372.   System) and handle both file systems.
  373.  
  374. History
  375.  
  376.       This program was developped on an  Amiga  3000  UNIX-1  (6  Mb  RAM,
  377.   internal HD disk drive, internal hard disk of 100 Mb, external SyQuest drive
  378.   of 88 Mb, external floppy disk drive, 1960 monitor and Star LC24-10 printer)
  379.   connected by a null-modem cable to an A500 with 1 Mb RAM.
  380.       AZap was written almost in  C  language,  and  compiled  with  SAS/C
  381.   5.10b. DPaint IV (from Electronic Arts), SID2 (by Tim Martin), and  DME  (by
  382.   Matt Dillon) were very useful too.
  383.  
  384.   v1.00   14-Oct-92, 36084 bytes (Fish #759)
  385.       o First released version
  386.  
  387.   v1.01   16-Oct-92, 36084 bytes
  388.       o Bug fixed: didn't worked if default public screen  was  less  than
  389.         648 pixels wide.
  390.  
  391.   v1.10   15-Nov-92, 36960 bytes
  392.       o Added "Header block" and "Examine" functions
  393.       o After a file request, open a memory window if "RAM:" was selected,
  394.         or a device window if a device name was selected (e.g. "DH0:")
  395.  
  396.   v1.11   21-Nov-92, 36976 bytes
  397.       o Bug fixed: the "§n" form in the "GOTO" function wasn't  understood
  398.  
  399.   v1.20   25-Dec-92, 40000 bytes
  400.       o Compiled with SAS/C 6.1
  401.       o Added "Search file" function
  402.       o The requester for the "GOTO"  function  displays  the  last  value
  403.         entered
  404.       o If a string search fails, displays a message "foo not found"
  405.       o Devices can be named by their logical names (in command  line  and
  406.         file request, except RAM:)
  407.  
  408.   v1.30   02-Jan-93, 40612 bytes
  409.       o Added "Save block" function
  410.       o The "Print..." function ask for the number of blocks to print
  411.       o The "Infos" functions displays disk type (OFS/FFS/NDOS)
  412.       o Search functions put together in a new menu
  413.       o A few bugs fixed in default font and WorkBench screen handling
  414.  
  415.   v2.00   07-Feb-93, 42116 bytes
  416.       o Compiled with SAS/C 6.2
  417.       o Fully localized
  418.  
  419.   v2.01   21-Feb-93, 41768 bytes
  420.       o Better handling of file requester
  421.       o A few bugs fixed in window options handling
  422.  
  423.  
  424.  
  425.  
  426.